#include <linux/memblock.h>
#include <asm/page.h>

extern char _end[];
extern char _start[];

static void setup_bootmem(void)
{
    phys_addr_t vmlinux_start;
    phys_addr_t vmlinux_end;

    vmlinux_start = __pa(_start);
    vmlinux_end = __pa(_end);

    /*
     * Reserve from the start of the kernel to the end of the kernel
     */
    memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start);
}

void paging_init(void)
{
    setup_bootmem();
}
